	org		0x0000

	ori		$sp, $zero, 0x4000
	ori		$sp, $zero, 0x0C00
	ori		$6, $zero, 0xFFFF
	ori		$7, $zero, 0x0000
	ori		$8, $zero, 0xFF00
	ori		$9,	$zero, 0x0FF0
	ori		$10,$zero, 0x00FF
	ADDU	$11, $8, $10
	AND		$12, $9, $10
	ori		$13, $zero, haha
	JR		$13
	ADDIU	$14, $10, 1 # should get skipped

haha:

	NOR		$14, $7, $10
	OR		$15, $7, $10
	SLT		$16, $8, $6
	SLT		$17, $6, $8
	SLTU	$18, $8, $6
	SLTU	$19, $6, $8
	SLL		$20, $9, 1
	SRL		$21, $9, 1
	SUBU	$22, $8, $10
	XOR		$23, $9, $10
	ANDI	$24, $9, 0xFF00
	LUI		$25, 0xFCCF
	SLTI	$26, $8, 0xFFFF
	SLTI	$27, $6, 0xFF00
	SLTIU	$28, $8, 0xFFFF
	SLTIU	$30, $6, 0xFF00
	XORI	$2,	$9, 0x00FF

	sw	$11, 0($sp)
	sw	$12, 8($sp)
	sw	$13, 16($sp)
	sw	$14, 24($sp)
	
	sw	$27, 128($sp)
	sw	$28, 136($sp)
	sw	$30, 144($sp)
	sw	$2, 152($sp)
	
	ADDIU	$sp, $sp, 128
	ADDIU $sp, $sp, 128
	
	sw	$12, 0($sp)
	sw	$13, 8($sp)
	sw	$14, 16($sp)
	sw	$15, 24($sp)
	
	sw	$28, 128($sp)
	sw	$29, 136($sp)
	sw	$11, 144($sp)
	sw	$30, 152($sp)
	
	#ADDIU	$sp, $sp, -128
	#ADDIU $sp, $sp, -128
	ori $1, $0, 128
	SUBU $sp, $sp, $1
	SUBU $sp, $sp, $1
	
	lw	$12, 0($sp)
	lw	$13, 8($sp)
	lw	$14, 16($sp)
	lw	$15, 24($sp)
	
	lw	$28, 128($sp)
	lw	$27, 136($sp)
	lw	$11, 144($sp)
	lw	$30, 152($sp)
	
	ADDIU	$sp, $sp, 128
	ADDIU $sp, $sp, 128
	
	ADDIU	$sp, $sp, 128
	ADDIU $sp, $sp, 128
	
	sw	$12, 0($sp)
	sw	$13, 8($sp)
	sw	$14, 16($sp)
	sw	$15, 24($sp)
	
	sw	$28, 128($sp)
	sw	$27, 136($sp)
	sw	$11, 144($sp)
	sw	$30, 152($sp)
	
	halt
